package com.example.developdemo.mapper;

import com.example.developdemo.entity.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 操作book表的接口
 */
@Mapper
public interface BookMapper {
    /**
     * 添加图书
     */
    void addBook(Book book);

    /**
     * 删除图书（单个）
     */
    void deleteBookByBookId(Integer bookId);

    /**
     * 删除图书（多个、批量）
     */
    void batchDeleteBok(List<Integer> bookIds);

    /**
     * 更新图书
     */
    void updateBook(Book book);

    /**
     * 查询图书(多条件查询) 图书名称/分类/状态/上传时间范围
     */
    List<Book> getBooksByParams(@Param("bookName") String bookName,
                                @Param("categoryId")Integer categoryId,
                                @Param("status")Integer status,
                                @Param("start")Date start,
                                @Param("end")Date end);//mybatis多条件查询的时候，要加参数@Param
}
